package cn.itcast.nems.studentrecord.dao.mapper;

import cn.itcast.nems.studentrecord.dao.dataobject.JournalRepeatDO;
import cn.itcast.nems.studentrecord.dao.entity.JournalRepeat;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 重读凭单 Mapper 接口
 * </p>
 *
 * @author 刘曙
 * @since 2023-12-12
 */
@Mapper
public interface JournalRepeatMapper extends BaseMapper<JournalRepeat> {

    /**
     * 重读凭单分页查询
     * @param page 分页参数
     * @param repeatDO 参选参数
     * @return 分页数据
     */
    IPage<JournalRepeatDO> findPageList(Page<JournalRepeatDO> page , @Param("param") JournalRepeatDO repeatDO) ;
    /**
     * 根据ID查询重读凭单
     * @param id 重读凭单ID
     * @return 凭单详情
     */
    JournalRepeatDO findById( @Param("id") String id) ;
    /**
     * 根据订单ID查询重读凭单信息
     *
     * @param orderId 订单ID
     * @return 凭单信息
     */
    JournalRepeat selectByOrderId(@Param("orderId") String orderId);

    /**
     * 根据订单ID查询重读凭单信息
     *
     * @param targetStudentRecordId 重读后的学籍id
     * @return 凭单信息
     */
    JournalRepeat selectByTargetStudentRecordId(@Param("targetStudentRecordId") String targetStudentRecordId);

    /**
     *
     * @param page
     * @param repeatDO
     * @return
     */
    IPage<JournalRepeatDO> findClazzPageList(Page<JournalRepeatDO> page , @Param("param") JournalRepeatDO repeatDO) ;
}
